---@meta _

---Returns cooldown information for an item in your inventory
---@param bagID number
---@param slot number
---@return number startTime the time the cooldown period began
---@return number duration the duration of the cooldown period
---@return number enable 1 if the item has a cooldown, 0 otherwise
function GetContainerItemCooldown(bagID, slot) end

---Get the info for an item in one of the player's bags.
---@param bagID number
---@param slot number
---@return string texture
---@return number itemCount
---@return boolean locked
---@return number quality
---@return boolean readable
function GetContainerItemInfo(bagID, slot) end  

---Returns the itemLink of the item located in bag#, slot#.
function GetContainerItemLink(bagID, slot) end

---Uses an item located
---@param bagID number
---@param slot number
---@param onSelf? boolean|string|number
function UseContainerItem(bagID, slot, onSelf) end


--[[
ContainerIDToInventoryID(bagID)
GetBagName(bagID)   - Get the name of one of the player's bags.
GetContainerItemCooldown(bagID, slot)
GetContainerItemInfo(bagID, slot)   - Get the info for an item in one of the player's bags.
GetContainerItemLink(bagID, slot)   - Returns the itemLink of the item located in bag#, slot#.
GetContainerNumSlots(bagID)   - Gives you the number of slots available in the bag specified by the index.
HasKey()   - Returns 1 if the player has a keyring, nil otherwise.
UI OpenAllBags()   - Open/Close all bags
PickupBagFromSlot(slot)   - Picks up the bag from the specified slot, placing it in the cursor. If an item is already picked up, this places the item into the specified slot, swapping the items if needed.
PickupContainerItem(bagID,slot)
PutItemInBackpack()   - attempts to place item in backpack (bag slot 0).
PutItemInBag(inventoryId)   - attempts to place item in a specific bag.
SetBagPortaitTexture(texture,slot)
SplitContainerItem(bagID,slot,amount)
UI ToggleBackpack()   - Toggles your backpack open/closed.
UI ToggleBag(bagID)   - Opens or closes the specified bag.
UseContainerItem(bagID, slot[, onSelf])   - Uses an item located in bag# and slot#. (Warning: If a vendor window is open, using items in your pack may sell them!)   - 'onSelf' added in 1.12
]]